#!/usr/bin/env python3
"""
后端服务启动脚本
创建时间: 2025-09-10
作者: 系统
目的: 提供统一的后端服务启动入口，支持开发和生产环境配置
"""

import os
import sys
import uvicorn
from pathlib import Path

def main():
    """
    主函数：启动FastAPI后端服务
    
    支持环境变量配置：
    - HOST: 服务绑定地址，默认127.0.0.1
    - PORT: 服务端口，默认8000
    - RELOAD: 是否启用热重载，默认True（开发环境）
    - WORKERS: 工作进程数，默认1（开发环境）
    """
    
    # 获取环境变量配置
    host = os.getenv('HOST', '127.0.0.1')
    port = int(os.getenv('PORT', 8000))
    reload = os.getenv('RELOAD', 'true').lower() == 'true'
    workers = int(os.getenv('WORKERS', 1))
    
    # 设置日志级别
    log_level = os.getenv('LOG_LEVEL', 'info')
    
    print(f"🚀 启动新易访内网系统后端服务")
    print(f"📍 服务地址: http://{host}:{port}")
    print(f"📖 API文档: http://{host}:{port}/docs")
    print(f"🔄 热重载: {'启用' if reload else '禁用'}")
    print(f"👥 工作进程: {workers}")
    print(f"📊 日志级别: {log_level}")
    print("-" * 50)
    
    # 启动UVicorn服务器
    uvicorn.run(
        app="app.main:app",
        host=host,
        port=port,
        reload=reload,
        workers=workers,
        log_level=log_level,
        access_log=True
    )

if __name__ == "__main__":
    # 添加项目根目录到Python路径
    backend_root = Path(__file__).parent
    sys.path.insert(0, str(backend_root))
    
    try:
        main()
    except KeyboardInterrupt:
        print("\n👋 服务已停止")
    except Exception as e:
        print(f"❌ 启动失败: {e}")
        sys.exit(1)